let onlineUsers = {}; // { userId: socketId }

/**
 * 用户上线时记录其 socket.id
 * @param {string} userId 
 * @param {string} socketId 
 */
function setOnlineUser(userId, socketId) {
  onlineUsers[userId] = socketId;
}

/**
 * 用户下线时移除其 socket.id
 * @param {string} userId 
 */
function removeOfflineUser(userId) {
  delete onlineUsers[userId];
}

/**
 * 获取当前在线用户映射表
 * @returns {{ [userId: string]: string }}
 */
function getOnlineUsers() {
  return onlineUsers;
}

module.exports = {
  setOnlineUser,
  removeOfflineUser,
  getOnlineUsers,
};